p :: c -> a
q :: c -> b